Alfred+workflows 快速截图ocr识别
作者:matrix 被围观: 6,520 次 发布时间:2018-09-12 分类:零零星星 | 2 条评论 »
前些时间使用看到Alfred的ocr识别插件workflows插件真心不错,超实用的工具 完全胜任图片文字提取的工作。
mac自带的截图快捷工具我常常使用,但是能够截图之后马上对图片进行内容识别 这倒是很稀奇 至少我是这样。
一般专门的ocr软件我很少用 若要临时应急的话就会很麻烦 因为我需要去查找提供ocr识别服务的三方网站服务 然后进行图片上传 之后再复制内容到剪贴板。像这种情况下有个顺手的小工具是多爽 😆 😆 虽然插件也是使用开源库tesseract-ocr
,但是整合到随手调用这就很少有人做了。
安装tesseract开源库
brew install tesseract #使用brew工具
tesseract --version #查看版本号
配置语言包
tesseract --list-langs #查看当前只是的语言
默认自带英文eng
,简体中文为chi_sim
https://github.com/tesseract-ocr/tessdata
下载chi_sim_vert.traineddata
,chi_sim.traineddata
两文件放至/usr/local/Cellar/tesseract/3.05.02/share/tessdata
。其中3.05.02
为你安装的tesseract版本号
安装workflows
此alfredworkflow被我简单添加了下触发关键字 cn
中文,en
英文
使用
ocr #默认所有中英文语言
ocr cn #指定识别中文
ocr en #指定识别英文
回车截图之后会出现消息通知(响应时间据字符长度而不定)
若内容为空 最好debug查看workflows报错信息
后续问题
自定义修改插件的时候发现有些时候输入的内容无法被Alfred读取 会被自动截断 无任何反应
这里是因为编码转换的问题导致的 确保输入内容以及输出内容的编码 过滤掉特殊字符
php处理:
function force_utf8_safe($str) {
$res = mb_convert_encoding($str, "UTF-8", "UTF-8" ); // replace invalid characters with ?
$res = preg_replace('/\p{Cc}+/u', '?', $res); // replace control characters with ?
return $res;
}
说明:
字符过滤来自于 https://github.com/willfarrell/alfred-encode-decode-workflow
还可以参考它的输入字符处理方式 使用normalise
脚本再处理传入
参考:https://www.alfredforum.com/topic/10141-workflow-arguments-are-always-decomposed/
我的AlfredWorkflows:https://github.com/Hootrix/AlfredWorkflows
参考:
https://www.zhihu.com/question/20656680
https://tonydeng.github.io/2016/07/28/on-the-use-of-tesseract-picture-text-recognition/
PEACE~
中文识别效果不佳啊
突然发现自己要学习的还有很多